
Product
Introducing GitHub Actions Scanning Support
Detect malware, unsafe data flows, and license issues in GitHub Actions with Socket’s new workflow scanning support.
electron-protocols
Advanced tools
Manage file protocols in Electron
npm install --save electron-protocols
Run the example:
npm start example
First register your protocol in main process before app.on('ready')
:
main process
const protocols = require('electron-protocols');
protocols.register('app', protocols.basepath(app.getAppPath()));
Then you can use protocols.path
to map your protocol to a file path:
renderer/main process
const protocols = require('electron-protocols');
// return the module in ${app.getAppPath()}/my/module.js
const myModule = require(protocols.path('app://my/module.js'));
Also, you are free to use protocol in html in renderer process:
<img src="app://my/image.png" />
<script src="app://my/script.js" />
It will speed up the search of protocols.path
by skip calling the remote (ipc-sync) functions.
protocol
stringfn
functionRegister a protocol so that {@link Editor.url} can use it to convert an url to the filesystem path.
The fn
accept an url Object via url.parse
Example:
const {app} = require('electron');
const protocols = require('electron-protocols');
const path = require('path');
protocols.register('app', uri => {
let base = app.getAppPath();
if ( uri.pathname ) {
return path.join( base, uri.host, uri.pathname );
}
return path.join( base, uri.host );
});
url
stringConvert a url by its protocol to a filesystem path. This function is useful when you try to get
some internal file. You can use protocols.register
to register and map your filesystem path to url.
Example:
// it will return "{your-app-path}/foobar/foobar.js"
protocols.path('app://foobar/foobar.js');
base
stringA function help you register protocol by base
path you provide.
Example:
protocols.register('app', protocols.basepath(app.getAppPath()));
MIT © 2017 Johnny Wu
FAQs
Manage file protocols in Electron
We found that electron-protocols demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Detect malware, unsafe data flows, and license issues in GitHub Actions with Socket’s new workflow scanning support.
Product
Add real-time Socket webhook events to your workflows to automatically receive pull request scan results and security alerts in real time.
Research
The Socket Threat Research Team uncovered malicious NuGet packages typosquatting the popular Nethereum project to steal wallet keys.